package com.example.supplychainbackend.service;

import com.example.supplychainbackend.controller.dto.blockchain.UploadInfo;
import com.example.supplychainbackend.controller.dto.enterprise.CertApplyProgressDto;
import com.example.supplychainbackend.controller.dto.enterprise.EnterpriseCertDto;
import com.example.supplychainbackend.controller.dto.enterprise.EnterpriseDto;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

public interface EnterpriseService {
    Long createEnterprise(EnterpriseDto enterpriseDto);

    EnterpriseDto updateEnterprise(Long id, EnterpriseDto enterpriseDto);

    List<EnterpriseDto> listEnterprises();

    EnterpriseDto getEnterprise(Long id);

    Long applyEnterpriseCert(Long id, EnterpriseCertDto applyDto);

    EnterpriseCertDto updateCertApply(Long id, EnterpriseCertDto applyDto);

    EnterpriseCertDto getCertApply(Long id);

    CertApplyProgressDto updateCertApplyProgress(Long id, CertApplyProgressDto applyDto);

    CertApplyProgressDto getCertApplyProgress(Long id);

    List<CertApplyProgressDto> listCertApplyProgress();

    UploadInfo uploadToChainCert(Long id);
}
